-- judge_role_idx
--
local import = import
---@type behavior_ret
local bret = import("bt/bt_plugin/behavior3/behavior_ret")
---@type api
local api = import("api/api")

local M = {
    name = "judge_role_idx",
    type = "Condition",
    desc = "判断当前角色是第几角色",
    args = {
        --{ "str", "string", "变量描述" }
    },
    output = { "角色序号" }
}

function M.run(node, env, value)
    -- 获取该账号角色信息
    local role_info = api.get_role_info()
    -- 当前角色名称
    local role_name = env.owner.name
    -- 需要返回的序号
    local idx = 0
    -- 遍历查询
    for i = 1, #role_info do
        if role_info[i].name == role_name then
            idx = i
            break
        end
    end

    if idx == 0 then
        return bret.FAIL
    else
        --xxmsg("当前角色是第" .. idx .. "个")
        return bret.SUCCESS, idx
    end
end

return M
